Node.js একটি শক্তিশালী মডিউল সিস্টেম প্রদান করে, যা কোড পুনরায় ব্যবহারযোগ্য এবং সংগঠিত রাখতে সাহায্য করে। মডিউল সিস্টেমের মাধ্যমে আপনি আলাদা আলাদা ফাংশনালিটি বা কোড ব্লককে পৃথকভাবে সংরক্ষণ করতে পারেন এবং সহজে পুনঃব্যবহার করতে পারেন। Node.js এর মডিউল সিস্টেম CommonJS মডিউল সিস্টেমের উপর ভিত্তি করে তৈরি, যেখানে আপনি মডিউলগুলো তৈরি, রপ্তানি (export), এবং আমদানি (import) করতে পারেন।
Node.js মডিউল সিস্টেমের প্রধান বৈশিষ্ট্যসমূহ
- মডিউল তৈরি করা (Creating a Module):
Node.js এ একটি মডিউল সাধারণত একটি JavaScript ফাইল হিসেবে তৈরি করা হয়। আপনি কোনো ফাংশন, ভেরিয়েবল বা অবজেক্ট তৈরি করে সেগুলোকে রপ্তানি (export) করতে পারেন। - মডিউল রপ্তানি (Exporting a Module):
Node.js এmodule.exportsএবংexportsব্যবহার করে মডিউল রপ্তানি করা হয়। এটি অন্য ফাইলে ব্যবহারযোগ্য ফাংশন বা ভেরিয়েবল তৈরি করতে সাহায্য করে। - মডিউল আমদানি (Importing a Module):
আপনি Node.js এরrequire()ফাংশন ব্যবহার করে অন্য মডিউলকে আমদানি (import) করতে পারেন। - Core Modules:
Node.js এর কিছু বিল্ট-ইন মডিউল রয়েছে যা সাধারণত ব্যবহৃত হয়, যেমনfs,http,path,url, ইত্যাদি।
১. মডিউল তৈরি করা (Creating a Module)
একটি নতুন মডিউল তৈরি করতে, আপনি সাধারণভাবে একটি নতুন JavaScript ফাইল তৈরি করবেন, যেখানে আপনার কোড থাকবে। উদাহরণস্বরূপ, একটি সিম্পল মডিউল তৈরি করা যাক:
math.js (মডিউল ফাইল):
// math.js
// দুটি সংখ্যা যোগ করার ফাংশন
function add(a, b) {
return a + b;
}
// দুটি সংখ্যা বিয়োগ করার ফাংশন
function subtract(a, b) {
return a - b;
}
// মডিউল রপ্তানি
module.exports = {
add,
subtract
};এখানে, add এবং subtract দুটি ফাংশন তৈরি করা হয়েছে এবং সেগুলোকে module.exports এর মাধ্যমে রপ্তানি করা হয়েছে।
২. মডিউল আমদানি (Importing a Module)
এখন, আপনি অন্য একটি JavaScript ফাইল থেকে math.js মডিউলটিকে require() ব্যবহার করে আমদানি করতে পারেন।
app.js (আমদানি ফাইল):
// math.js মডিউল আমদানি
const math = require('./math');
// ফাংশন ব্যবহার করা
let sum = math.add(5, 3);
let difference = math.subtract(5, 3);
console.log("Sum:", sum); // Sum: 8
console.log("Difference:", difference); // Difference: 2এখানে, require('./math') এর মাধ্যমে math.js মডিউলটিকে আমদানি করা হয়েছে, এবং তারপর add এবং subtract ফাংশনগুলিকে ব্যবহার করা হয়েছে।
৩. Core Modules
Node.js এর অনেক বিল্ট-ইন (core) মডিউল রয়েছে, যেগুলি আপনার প্রকল্পে সহজেই ব্যবহার করা যায়। এগুলির মধ্যে কিছু উদাহরণ:
fs(File System): ফাইল সিস্টেমের সাথে কাজ করার জন্য।http: HTTP সার্ভার তৈরি করার জন্য।path: ফাইল এবং ডিরেক্টরির পথ পরিচালনা করার জন্য।url: URL সম্পর্কিত কাজের জন্য।
উদাহরণ হিসেবে, একটি HTTP সার্ভার তৈরি করা:
// http মডিউল ব্যবহার করে একটি HTTP সার্ভার তৈরি করা
const http = require('http');
const server = http.createServer((req, res) => {
res.write('Hello, World!');
res.end();
});
server.listen(3000, () => {
console.log('Server is running at http://localhost:3000/');
});এখানে, http.createServer এর মাধ্যমে একটি HTTP সার্ভার তৈরি করা হয়েছে এবং তা 3000 পোর্টে রান করছে।
৪. NPM মডিউল (Third-party Modules)
Node.js এর সাথে একটি প্যাকেজ ম্যানেজার রয়েছে যার নাম NPM (Node Package Manager), যা আপনি তৃতীয় পক্ষের মডিউল ইনস্টল এবং ব্যবহারে সহায়তা করে। উদাহরণস্বরূপ, express একটি জনপ্রিয় HTTP ফ্রেমওয়ার্ক, যেটি NPM দিয়ে ইনস্টল এবং ব্যবহার করা যেতে পারে।
- NPM এর মাধ্যমে মডিউল ইনস্টল করা:
npm install express- Express মডিউল ব্যবহার করা:
// Express মডিউল ব্যবহার করে HTTP সার্ভার তৈরি করা
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello, Express!');
});
app.listen(3000, () => {
console.log('Server is running at http://localhost:3000/');
});এখানে, express মডিউলটি NPM থেকে ইনস্টল করা হয়েছে এবং ব্যবহার করা হয়েছে।
৫. module.exports এবং exports
module.exports এবং exports এর মধ্যে কিছু পার্থক্য রয়েছে, তবে সাধারণত আপনি module.exports ব্যবহার করবেন যখন আপনি মডিউলে একক কিছু রপ্তানি করতে চান। exports সাধারণত একাধিক ফাংশন বা প্রপার্টি রপ্তানি করার জন্য ব্যবহৃত হয়।
উদাহরণ:
// exports ব্যবহার করে
exports.add = (a, b) => a + b;
// module.exports ব্যবহার করে
module.exports.subtract = (a, b) => a - b;যদিও exports এবং module.exports এর মধ্যে কিছুটা পার্থক্য থাকতে পারে, তবে আপনি সাধারণভাবে module.exports ব্যবহার করবেন একক মান রপ্তানি করার জন্য।
সারাংশ
Node.js এর মডিউল সিস্টেম একটি শক্তিশালী ও প্রয়োজনীয় ফিচার যা কোড পুনঃব্যবহারযোগ্য এবং সংগঠিত রাখার জন্য ব্যবহৃত হয়। মডিউল তৈরি, রপ্তানি (export), এবং আমদানি (import) করা খুব সহজ এবং এটি প্রোগ্রামিংয়ের দক্ষতা বৃদ্ধি করে। আপনি Node.js এর core modules থেকে শুরু করে তৃতীয় পক্ষের NPM modules ব্যবহার করে কার্যকরী অ্যাপ্লিকেশন তৈরি করতে পারবেন।
Read more